// 导入token请求接口
import { login, getProfile, getStaffPhoto } from '@/api/user(用户请求接口).js'
// 导入Cookie持久化
import { getToken, setToken, removeToken, setTime } from '@/utils/auth'
export default {
  // 开启模块空间
  namespaced: true,
  // 数据存储
  state: {
    // token
    token: getToken() || '',
    // 用户信息
    userInfo: {},
    aa: {
      age: 18
    }
  },
  //同步修改数据
  mutations: {
    // 保存token
    settoken (state, token) {
      state.token = token
      // 保存token持久化
      setToken(token)
    },
    // 删除token
    deltoken (state) {
      state.token = ''
      // 移除token持久化
      removeToken()
    },
    // 用户信息
    setUserInfo (state, value) {
      state.userInfo = value
    },
    // 删除用户信息
    DelInfo (state) {
      state.userinfo = {}
    }
  },
  // 异步修改数据
  actions: {
    // 获取token
    async LoginToken (context, data) {
      let res = await login(data)
      context.commit('settoken', res.data)
    },
    //获取用户信息
    async userLogin (context) {
      let res = await getProfile()
      let info = await getStaffPhoto(res.data.userId)
      console.log({ ...res.data, ...info.data })
      context.commit('setUserInfo', { ...res.data, ...info.data })
      // 存入token的时间戳
      setTime(Date.now())
    },
    DelLogin (context) {
      // 清除token
      context.commit('deltoken')
      // 清除用户信息
      context.commit('DelInfo')
    }
  }
}

